//
//  HNSH_UserNetServer.h
//  HNSH_SingleProject
//
//  Created by 李宇廷 on 2023/2/16.
//

#import <Foundation/Foundation.h>
#import "ST_BaseNetManager.h"

typedef enum : NSUInteger {
    KSendCodeType_Login,                            //登录
    KSendCodeType_Register,                         //注册
    KSendCodeType_ResetPassword_UnLogin,            //重置密码【未登录】
    KSendCodeType_ResetPassword_Login,              //修改密码
    KSendCodeType_ChangePaymentPassword,            //修改支付密码
    KSendCodeType_ChangePhone,                      //手机号修改
    KSendCodeType_TongZheng,                        //通证兑换现金
} KSendCodeType;

NS_ASSUME_NONNULL_BEGIN


@interface HNSH_UserNetServer : NSObject


//服务配置接口
+ (NSURLSessionTask *)requestAPPServerConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//登录
+ (NSURLSessionTask *)requestLoginWithUserName:(NSString *)userName pwd:(NSString *)pwd type:(NSString *)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//刷新token
+ (NSURLSessionTask *)requestRefreshTokenSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure ;


//获取三方登录信息
+ (NSURLSessionTask *)requestBingBirdUnionLoginSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//获取验证码
+ (NSURLSessionTask *)requestSendCodeWithUserName:(NSString *)userName type:(KSendCodeType)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 激活短信验证码
+ (NSURLSessionTask *)requestVerifyCodeWithUserName:(NSString *)userName type:(KSendCodeType)type code:(NSString *)code success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//用户注册
+ (NSURLSessionTask *)requestUserRegisterWithUserName:(NSString *)userName sms_code:(NSString *)sms_code pwd:(NSString *)pwd invite_code:(NSString *)invite_code success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//更新用户信息
+ (NSURLSessionTask *)requestUserUpdateWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//退出
+ (NSURLSessionTask *)requestUserLogoutSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//密码重置【未登录】
+ (NSURLSessionTask *)requestUserResetPasswordWithUserName:(NSString *)userName sms_code:(NSString *)sms_code pwd:(NSString *)pwd success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//密码修改
+ (NSURLSessionTask *)requestUserModifyPasswordWithSms_code:(NSString *)sms_code pwd:(NSString *)pwd success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//修改支付密码
+ (NSURLSessionTask *)requestUserChangePaymentPwdWithSms_code:(NSString *)sms_code pwd:(NSString *)pwd success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//获取用户信息
+ (NSURLSessionTask *)requestUserDetailSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//获取融云用户信息
+ (NSURLSessionTask *)requestRcUserDetailSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//云储存令牌
+ (NSURLSessionTask *)requestOssTokenSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//特殊规则配置信息
/// @param key
///  integral_balance    积分余额
///  huibao_balance      汇宝余额
///  huibao_pledge_agreement    汇宝质押说明
///  huibao_dsz          待赠送汇宝
///  shop_example_license        营业执照
///  shop_example_qualification    经营资质
///  shop_example_authorization    授权书
///  shop_example_image    店铺图片示例

///  shop_example_idcard_front 身份证国徽面
///  shop_example_idcard_back 身份证头像面
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestConfigRuleInfoWithKey:(NSString *)key success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//邀请配置
+ (NSURLSessionTask *)requestUserInviteConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//团队信息【等级信息】
+ (NSURLSessionTask *)requestPartnerInfoSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//直推粉丝数据【粉丝列表】
+ (NSURLSessionTask *)requestPartnerFansListWithPageNum:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 星级达人
+ (NSURLSessionTask *)requestPartnerBonusInfoSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 星级达人激活
+ (NSURLSessionTask *)requestPartnerBonusActivateWithLevel:(NSString *)level pay_password:(NSString *)pay_password success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//代理信息
+ (NSURLSessionTask *)requestAgentDataSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure ;


//代理申请
+ (NSURLSessionTask *)requestAgentApplyWithAddessCode:(NSString *)region_code
                                                 name:(NSString *)name
                                     identity_card_no:(NSString *)identity_card_no
                                        contact_phone:(NSString *)contact_phone
                                         pay_password:(NSString *)pay_password
                                              success:(ST_DataRequestSuccess)success
                                              Failure:(ST_RequestFailure)failure;

//代理配置
+ (NSURLSessionTask *)requestAgentConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//个人中心广告点击查询
+ (NSURLSessionTask *)requestMineAdvertProgressWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//意见反馈配置
+ (NSURLSessionTask *)requestUserAdviseConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//意见反馈
+ (NSURLSessionTask *)requestUserAdviseAddWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//城市合伙人数据
+ (NSURLSessionTask *)requestUserShareholderDataSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure ;


//归属地
+ (NSURLSessionTask *)requestUpdateLocalWithLatitude:(double)latitude
                                           longitude:(double)longitude
                                         region_code:(NSString *)region_code
                                             success:(ST_DataRequestSuccess)success
                                             Failure:(ST_RequestFailure)failure;


//账单统计
///
/* 资金类型 zjType
1              绿色能量
2              暂无
3              暂无
4              活跃度
5              个人活跃度(当无显示)
6              贡献值
7              购物值
10             现金余额
11             通证余额
*/
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestBillStatisticsWithType:(NSString *)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//账单分页查询
/* 资金类型 account_type
 1              绿色能量
 2              暂无
 3              暂无
 4              活跃度
 5              个人活跃度(当无显示)
 6              贡献值
 7              购物值
 10             现金余额
 11             通证余额
 50             消费额度
 income_type                收益类型 0:支出 1:收益 null:不检测
 business_types            子账单类型 多个用,分割  11010 : 兑换记录
 date_range                  时间范围 0:有时间范围 1:无时间范围
 year
 month
 day
 */
+ (NSURLSessionTask *)requestBillListWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//分润统计
+ (NSURLSessionTask *)requestProfitRecordStatisticsWithType:(NSString *)type account_type:(NSString *)account_type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

// 分润列表记录
//状态 10:待入账 20:已入账
//account_type = 11 资金类型 当前只有通证
+ (NSURLSessionTask *)requestProfitRecordWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


#pragma mark 实名认证
//实名认证【页面】
+ (NSURLSessionTask *)requestUserCertifyHomeSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//实名认证【收银台】
+ (NSURLSessionTask *)requestUserCertifyPaymentInfoSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//实名认证【人脸识别】
+ (NSURLSessionTask *)requestUserCertifyThirdCommitWithName:(NSString *)name cardNo:(NSString *)identity_card_no cerType:(NSString *)certify_type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//实名认证【提交】
+ (NSURLSessionTask *)requestUserCertifyCommitWithName:(NSString *)name cardNo:(NSString *)identity_card_no success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//创建支付订单
+ (NSURLSessionTask *)requestRechargeCreateWithPrice:(NSString *)price channel_id:(NSString *)channel_id business_id:(NSString *)business_id business_type:(NSString *)business_type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 商家
//线下商家分类
+ (NSURLSessionTask *)requestShopCategoryListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//商家信息
/// @param type 店铺类型 10:线上商店 20:线下商店
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestShopInfoWithType:(NSString *)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商家申请
+ (NSURLSessionTask *)requestShopCommitWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商家申请审核
+ (NSURLSessionTask *)requestShopSubmitAuditWithType:(NSString *)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 消息通知模块
//系统通知列表
+ (NSURLSessionTask *)requestNoticeMessageListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//系统通知清除未读
+ (NSURLSessionTask *)requestNoticeMessageClearReadFlagSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 汇宝
//汇宝积分增值首页
+ (NSURLSessionTask *)requestCapitalPledgeHomeDataSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//汇宝积分增值申请
+ (NSURLSessionTask *)requestRechargeCreateWithPrice:(NSString *)price pay_password:(NSString *)pay_password success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//汇宝积分增值记录
+ (NSURLSessionTask *)requestCapitalPledgeRecordListWithPageNum:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//汇宝信息
+ (NSURLSessionTask *)requestCapitalHuiBaoInfoSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//汇宝转账配置
+ (NSURLSessionTask *)requestCapitalHuiBaoTransferConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//汇宝积分增值申请
+ (NSURLSessionTask *)requestCapitalHuiBaoTransferApplyWithPrice:(NSString *)price target_code:(NSString *)target_code pay_password:(NSString *)pay_password success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//会员等级
+ (NSURLSessionTask *)requestPartnerPoundageConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


#pragma mark 更新
//更新
+ (NSURLSessionTask *)requestAPPLastVersionSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//下载地址
+ (NSURLSessionTask *)requestAPPProductDownloadUrlSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


#pragma mark 签到
// 签到数据
+ (NSURLSessionTask *)requestSignHomeDataSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//签到视频任务广告提交
+ (NSURLSessionTask *)requestSignAdvertProgressWithKey:(NSString *)key success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 汇豆商品兑换记录
+ (NSURLSessionTask *)requestSignGoodsExchangeRecordWithPage:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 提现
// 提现配置
+ (NSURLSessionTask *)requestUserWithdrawConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//提现申请
//account_type  账户类型 1:支付宝 2：银行卡
+ (NSURLSessionTask *)requestUserWithdrawApplyWithMoney:(NSString *)money account_type:(NSInteger)account_type pay_password:(NSString *)pay_password success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 提现记录
+ (NSURLSessionTask *)requestUserWithdrawRecordWithPage:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//收款账户更新
//type  账户类型 1:支付宝 2：银行卡
+ (NSURLSessionTask *)requestUserWithdrawAccountUpdateWithAccount:(NSString *)account name:(NSString *)name additional:(NSString *)additional type:(NSInteger)type  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 充值
// 充值配置
+ (NSURLSessionTask *)requestCapitalVoucherConfigSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//充值申请
+ (NSURLSessionTask *)requestCapitalVoucherApplyWithMoney:(NSString *)money voucher_url:(NSString *)voucher_url success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 充值记录
+ (NSURLSessionTask *)requestCapitalVoucherRecordWithPage:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 商城等级
// 团队信息 【商城级别】
+ (NSURLSessionTask *)requestUserTeamConsumeInfoSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 我得好友 【商城级别】
+ (NSURLSessionTask *)requestUserTeamConsumeFansListWithPage:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//账户注销
//是否强制注销
+ (NSURLSessionTask *)requestUserCancellationWithForce:(NSInteger)force sms_code:(NSString *)sms_code success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

@end

NS_ASSUME_NONNULL_END
